package com.sunjy.demo1;

import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
import com.alicp.jetcache.anno.config.EnableMethodCache;
import com.sunjy.demo1.configuration.FooConfiguration;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;

@Configuration
@EnableDiscoveryClient
@SpringBootApplication
@EnableMethodCache(basePackages = "com.sunjy.demo1")
@EnableCreateCacheAnnotation
@EnableFeignClients
@EnableHystrixDashboard
@EnableCircuitBreaker
@ComponentScan(basePackages = { "com.sunjy.**" })//,
//		excludeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {FooConfiguration.class})
//) // 组件扫描
public class ProjectDemo1Application {
	
	public static void main(String[] args) {
        SpringApplication.run(ProjectDemo1Application.class, args);
    }

}
